package com.iot.device.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.iot.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.iot.common.core.domain.BaseEntity;

/**
 * 震动监测设备对象 t_quake_client
 * 
 * @author iot
 * @date 2023-04-14
 */
public class QuakeClient extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 终端编号 */
    @Excel(name = "管理人")
    private String nickName;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    /** 设备状态 */
    @Excel(name = "设备状态", readConverterExp = "online=在线,offline=离线")
    private String clientStat;

    /** 归属部门 */
    @Excel(name = "归属部门")
    private String deptName;

    public String getClientStat() {
        return clientStat;
    }

    public void setClientStat(String clientStat) {
        this.clientStat = clientStat;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /** 终端编号 */
    @Excel(name = "终端编号")
    private String clientNo;

    /** 终端名称 */
    @Excel(name = "终端名称")
    private String clientName;

    /** 机构ID */
    @Excel(name = "归属单位ID")
    private Long orgId;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /** 最后通讯 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后通讯", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastTime;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private Long clientType;

    /** 版本号 */
    // @Excel(name = "版本号")
    private String version;

    /** 在线时长 */
    // @Excel(name = "在线时长")
    private Long onlineTimes;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 所在地址 */
    @Excel(name = "所在地址")
    private String address;

    /** 管理人id */
    @Excel(name = "管理人id")
    private Long userId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setClientNo(String clientNo) 
    {
        this.clientNo = clientNo;
    }

    public String getClientNo() 
    {
        return clientNo;
    }
    public void setClientName(String clientName) 
    {
        this.clientName = clientName;
    }

    public String getClientName() 
    {
        return clientName;
    }
    public void setOrgId(Long orgId) 
    {
        this.orgId = orgId;
    }

    public Long getOrgId() 
    {
        return orgId;
    }
    public void setAddTime(Date addTime) 
    {
        this.addTime = addTime;
    }

    public Date getAddTime() 
    {
        return addTime;
    }
    public void setLastTime(Date lastTime) 
    {
        this.lastTime = lastTime;
    }

    public Date getLastTime() 
    {
        return lastTime;
    }
    public void setClientType(Long clientType) 
    {
        this.clientType = clientType;
    }

    public Long getClientType() 
    {
        return clientType;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setOnlineTimes(Long onlineTimes) 
    {
        this.onlineTimes = onlineTimes;
    }

    public Long getOnlineTimes() 
    {
        return onlineTimes;
    }
    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("clientNo", getClientNo())
            .append("clientName", getClientName())
            .append("orgId", getOrgId())
            .append("addTime", getAddTime())
            .append("lastTime", getLastTime())
            .append("clientType", getClientType())
            .append("version", getVersion())
            .append("remark", getRemark())
            .append("onlineTimes", getOnlineTimes())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("address", getAddress())
            .append("userId", getUserId())
            .toString();
    }
}
